Skip to content

Conversation

@gabriellsh
Copy link
Member

@gabriellsh gabriellsh commented Dec 1, 2025

Proposed changes (including videos or screenshots)

Issue(s)

VGA-91

Steps to test or reproduce

Further comments

Summary by CodeRabbit

  • Refactor
    • Consolidated UI component imports to use centralized package exports for improved maintainability and consistency across the application.
    • Updated module resolution configuration in development tooling.

✏️ Tip: You can customize this high-level summary in your review settings.

@dionisio-bot
Copy link
Contributor

dionisio-bot bot commented Dec 1, 2025

Looks like this PR is not ready to merge, because of the following issues:

  • This PR is targeting the wrong base branch. It should target 7.14.0, but it targets 7.13.0

Please fix the issues and try again

If you have any trouble, please check the PR guidelines

@changeset-bot
Copy link

changeset-bot bot commented Dec 1, 2025

⚠️ No Changeset found

Latest commit: 76f6d08

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 1, 2025

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

A large-scale refactor moving Contextualbar UI component imports across ~100 files from local relative paths to the centralized @rocket.chat/ui-client package. Adds a Storybook webpack alias for fuselage resolution. Two files introduce new public props to components (CustomFieldsList, NotificationPreferences). No breaking changes to core functionality.

Changes

Cohort / File(s) Summary
Storybook & Webpack Configuration
apps/meteor/.storybook/main.ts
Added webpack alias for fuselage module resolution in Storybook config, mapping @rocket.chat/fuselage$ to the node_modules path.
Game Center Components
apps/meteor/client/apps/gameCenter/GameCenterContainer.tsx, GameCenterList.tsx
Contextualbar imports moved from local paths to @rocket.chat/ui-client; import ordering adjusted.
UserInfo Stories & Component
apps/meteor/client/components/UserInfo/UserInfo.stories.tsx, UserInfo.tsx
ContextualbarDialog and ContextualbarScrollableContent imports switched to @rocket.chat/ui-client.
Admin ABAC & Custom Assets
apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsx, customEmoji/*, customSounds/*, customUserStatus/*
Contextualbar component imports consolidated to @rocket.chat/ui-client across custom configuration and asset management modules.
Admin Device Management
apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminPage.tsx, DeviceManagementInfo/*
ContextualbarDialog and related imports updated to use @rocket.chat/ui-client package.
Admin Moderation & OAuthApps
apps/meteor/client/views/admin/moderation/ModConsoleReportDetails.tsx, UserMessages.tsx, UserReports/UserReportInfo.tsx, oauthApps/*
Contextualbar-related imports migrated to @rocket.chat/ui-client for moderation and OAuth app views.
Admin Permissions & Rooms
apps/meteor/client/views/admin/permissions/EditRolePage.tsx, PermissionsContextBar.tsx, rooms/*
Contextualbar components (Footer, ScrollableContent, Dialog, Header, Title, Close) moved to centralized package import.
Admin Users
apps/meteor/client/views/admin/users/AdminInviteUsers.tsx, AdminUserCreated.tsx, AdminUserForm.tsx, AdminUserInfoWithData.tsx, AdminUserUpgrade.tsx, AdminUsersPage.tsx
All Contextualbar imports switched from local paths to @rocket.chat/ui-client across user management modules.
Marketplace & App Logs
apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.*
Contextualbar import source updated to @rocket.chat/ui-client in app logs filter components.
Omnichannel: Agents
apps/meteor/client/views/omnichannel/agents/AgentEdit.tsx, AgentEditWithData.tsx, AgentInfo.tsx, AgentsPage.tsx
Contextualbar components and UI-related hooks consolidated to @rocket.chat/ui-client imports.
Omnichannel: Canned Responses
apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/*
Contextualbar exports moved to @rocket.chat/ui-client for canned response management.
Omnichannel: Contact History & Info
apps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsx, contactInfo/*
Contextualbar component imports updated to @rocket.chat/ui-client across contact info and history views.
Omnichannel: CustomFieldsList & Fields
apps/meteor/client/views/omnichannel/currentChats/CustomFieldsList.tsx, customFields/*
Note: CustomFieldsList adds new public prop allCustomFields: ILivechatCustomField[] alongside import refactor. Other custom fields views updated to use @rocket.chat/ui-client.
Omnichannel: Directory (Calls & Chats)
apps/meteor/client/views/omnichannel/directory/CallsContextualBarDirectory.tsx, calls/contextualBar/VoipInfo.tsx, chats/ChatInfo/*, ChatsFiltersContextualBar.tsx
Contextualbar imports consolidated to @rocket.chat/ui-client across omnichannel directory modules.
Omnichannel: Priorities, SLA, Tags, Triggers, Units
apps/meteor/client/views/omnichannel/priorities/PriorityList.tsx, slaPolicies/*, tags/*, triggers/*, units/*
Contextualbar component imports switched to @rocket.chat/ui-client across omnichannel configuration modules.
Outlook Calendar
apps/meteor/client/views/outlookCalendar/OutlookEventsList/OutlookEventsList.tsx, OutlookSettingsList/OutlookSettingsList.tsx
Contextualbar and VirtualizedScrollbars imports moved to @rocket.chat/ui-client.
Room & Contextual Bar Components
apps/meteor/client/views/room/Room.tsx, contextualBar/AutoTranslate/*, Discussions/DiscussionsList.tsx, ExportMessages/*, Info/EditRoomInfo/EditRoomInfo.tsx, Info/RoomInfo/*, KeyboardShortcuts/*, MessageListTab.tsx, MessageSearchTab.tsx, MessageSearchTab/components/MessageSearch.tsx, NotificationPreferences/*, OTR/*, PruneMessages/*, RoomFiles/*, RoomFiles/components/FileItem.stories.tsx, RoomMembers/*
Note: NotificationPreferences adds new public props handleSave: () => void, notificationOptions: { [key: string]: SelectOption[] }, handlePlaySound: () => void. Remaining contextualBar components migrate Contextualbar imports to @rocket.chat/ui-client with no behavioral changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20–25 minutes

Areas requiring extra attention:

  • Verify ui-client exports: Confirm that @rocket.chat/ui-client properly exports all Contextualbar components (ContextualbarDialog, ContextualbarScrollableContent, ContextualbarContent, ContextualbarFooter, ContextualbarHeader, ContextualbarTitle, ContextualbarClose, ContextualbarEmptyContent, ContextualbarSkeleton, ContextualbarSkeletonBody, ContextualbarIcon, ContextualbarBack) and VirtualizedScrollbars to avoid runtime import failures.
  • Public API changes: CustomFieldsList and NotificationPreferences introduce new required props; verify consumers are updated or defaults handle backward compatibility.
  • Webpack alias correctness: Validate that the Storybook fuselage alias mapping is correct and does not conflict with existing aliases.
  • Circular dependency check: Ensure no circular dependencies were introduced between local Contextualbar components and ui-client package.
  • Completeness: Spot-check a few files across different feature areas to confirm all local Contextualbar imports have been replaced.

Possibly related PRs

Suggested labels

refactor, chore, ui-client-migration

Suggested reviewers

  • ggazzo
  • dougfabris
  • tassoevan

Poem

🐰 Hoppity hop, imports take flight,
From scattered paths to ui-client's light,
A hundred files dance in refactored grace,
Contextualbar finds its rightful place!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning One out-of-scope change detected: CustomFieldsList.tsx extends the public API by adding allCustomFields prop to CustomFieldsListProps, which is unrelated to moving components and should be in a separate PR. Remove the API signature change to CustomFieldsListProps in CustomFieldsList.tsx and isolate it in a dedicated PR focused on that component's enhancement.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main objective: moving ContextualBar and subcomponents to the ui-client package. It is clear, specific, and directly reflects the primary change throughout the changeset.
Linked Issues check ✅ Passed The PR successfully fulfills the objective from VGA-91 by systematically replacing local ContextualBar component imports with imports from @rocket.chat/ui-client across 75+ files, consolidating UI components into the centralized package.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 1, 2025

📦 Docker Image Size Report

📈 Changes

Service Current Baseline Change Percent
sum of all images 1.2GiB 1.2GiB +12MiB
rocketchat 359MiB 347MiB +12MiB
omnichannel-transcript-service 132MiB 132MiB +453B
queue-worker-service 132MiB 132MiB -126B
ddp-streamer-service 127MiB 127MiB -1.7KiB
account-service 114MiB 114MiB +41B
stream-hub-service 111MiB 111MiB -641B
authorization-service 111MiB 111MiB -223B
presence-service 111MiB 111MiB -187B

📊 Historical Trend

---
config:
  theme: "dark"
  xyChart:
    width: 900
    height: 400
---
xychart
  title "Image Size Evolution by Service (Last 30 Days + This PR)"
  x-axis ["11/15 22:28", "11/16 01:28", "11/17 23:50", "11/18 22:53", "11/19 23:02", "11/21 16:49", "11/24 17:34", "11/27 22:32", "11/28 19:05", "12/01 23:01", "12/02 15:29", "12/02 15:51 (PR)"]
  y-axis "Size (GB)" 0 --> 0.5
  line "account-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "authorization-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "ddp-streamer-service" [0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12]
  line "omnichannel-transcript-service" [0.14, 0.14, 0.14, 0.14, 0.14, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13]
  line "presence-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "queue-worker-service" [0.14, 0.14, 0.14, 0.14, 0.14, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13]
  line "rocketchat" [0.36, 0.36, 0.35, 0.35, 0.35, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.35]
  line "stream-hub-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
Loading

Statistics (last 11 days):

  • 📊 Average: 1.5GiB
  • ⬇️ Minimum: 1.2GiB
  • ⬆️ Maximum: 1.6GiB
  • 🎯 Current PR: 1.2GiB
ℹ️ About this report

This report compares Docker image sizes from this build against the develop baseline.

  • Tag: pr-37661
  • Baseline: develop
  • Timestamp: 2025-12-02 15:51:01 UTC
  • Historical data points: 11

Updated: Tue, 02 Dec 2025 15:51:01 GMT

@codecov
Copy link

codecov bot commented Dec 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.80%. Comparing base (a5495ff) to head (76f6d08).
⚠️ Report is 3 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop   #37661      +/-   ##
===========================================
- Coverage    68.81%   68.80%   -0.02%     
===========================================
  Files         3361     3361              
  Lines       114260   114204      -56     
  Branches     20619    20619              
===========================================
- Hits         78629    78577      -52     
- Misses       33533    33534       +1     
+ Partials      2098     2093       -5     
Flag Coverage Δ
e2e 57.28% <ø> (-0.06%) ⬇️
e2e-api 42.27% <ø> (+0.07%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gabriellsh gabriellsh marked this pull request as ready for review December 2, 2025 14:39
@gabriellsh gabriellsh requested a review from a team as a code owner December 2, 2025 14:39
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistoryMessages.tsx (1)

98-98: Fix undefined variable reference.

The variable history is not defined in this scope and will cause a ReferenceError at runtime. Based on the context, this should reference the messages array.

Apply this diff to fix the undefined variable:

-					{!error && totalItemCount > 0 && history.length > 0 && (
+					{!error && totalItemCount > 0 && messages.length > 0 && (
apps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsx (1)

118-118: Critical: Undefined variable history causes runtime error.

Line 118 references history.length but the history variable is never defined in this component. This will throw a ReferenceError at runtime.

Apply this diff to fix the undefined variable reference:

-				{!error && totalItemCount > 0 && history.length > 0 && (
+				{!error && totalItemCount > 0 && messages.length > 0 && (
🧹 Nitpick comments (1)
apps/meteor/client/views/admin/moderation/UserMessages.tsx (1)

13-13: Consider updating or removing the now‑stale TODO.

The TODO about “We should use Contextualbar components here” is at least partially addressed by the new ContextualbarFooter usage; consider refining or removing it to avoid confusion for future maintainers.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between cbc0953 and 511e8e5.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (107)
  • apps/meteor/.storybook/main.ts (1 hunks)
  • apps/meteor/client/apps/gameCenter/GameCenterContainer.tsx (1 hunks)
  • apps/meteor/client/apps/gameCenter/GameCenterList.tsx (1 hunks)
  • apps/meteor/client/components/UserInfo/UserInfo.stories.tsx (1 hunks)
  • apps/meteor/client/components/UserInfo/UserInfo.tsx (1 hunks)
  • apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsx (1 hunks)
  • apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx (1 hunks)
  • apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx (1 hunks)
  • apps/meteor/client/views/admin/customEmoji/EditCustomEmoji.tsx (1 hunks)
  • apps/meteor/client/views/admin/customSounds/AddCustomSound.tsx (1 hunks)
  • apps/meteor/client/views/admin/customSounds/CustomSoundsPage.tsx (1 hunks)
  • apps/meteor/client/views/admin/customSounds/EditSound.tsx (1 hunks)
  • apps/meteor/client/views/admin/customUserStatus/CustomUserStatusForm.tsx (1 hunks)
  • apps/meteor/client/views/admin/customUserStatus/CustomUserStatusRoute.tsx (1 hunks)
  • apps/meteor/client/views/admin/customUserStatus/CustomUserStatusService.tsx (1 hunks)
  • apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminPage.tsx (1 hunks)
  • apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx (1 hunks)
  • apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfoWithData.tsx (1 hunks)
  • apps/meteor/client/views/admin/moderation/ModConsoleReportDetails.tsx (1 hunks)
  • apps/meteor/client/views/admin/moderation/UserMessages.tsx (1 hunks)
  • apps/meteor/client/views/admin/moderation/UserReports/UserReportInfo.tsx (1 hunks)
  • apps/meteor/client/views/admin/oauthApps/EditOauthApp.tsx (1 hunks)
  • apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx (1 hunks)
  • apps/meteor/client/views/admin/permissions/EditRolePage.tsx (1 hunks)
  • apps/meteor/client/views/admin/permissions/PermissionsContextBar.tsx (1 hunks)
  • apps/meteor/client/views/admin/rooms/EditRoom.tsx (1 hunks)
  • apps/meteor/client/views/admin/rooms/EditRoomWithData.tsx (1 hunks)
  • apps/meteor/client/views/admin/rooms/RoomsPage.tsx (1 hunks)
  • apps/meteor/client/views/admin/users/AdminInviteUsers.tsx (1 hunks)
  • apps/meteor/client/views/admin/users/AdminUserCreated.tsx (1 hunks)
  • apps/meteor/client/views/admin/users/AdminUserForm.tsx (1 hunks)
  • apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx (1 hunks)
  • apps/meteor/client/views/admin/users/AdminUserUpgrade.tsx (1 hunks)
  • apps/meteor/client/views/admin/users/AdminUsersPage.tsx (1 hunks)
  • apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.stories.tsx (1 hunks)
  • apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/agents/AgentEdit.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/agents/AgentEditWithData.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/agents/AgentInfo.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/agents/AgentsPage.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponse.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.stories.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsx (2 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfo.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfoWithData.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/ContactInfoError.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/EditContactInfo.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/EditContactInfoWithData.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoChannels/ContactInfoChannels.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoDetails/ContactInfoDetails.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistory.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistoryMessages.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/currentChats/CustomFieldsList.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/customFields/CustomFieldsPage.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/customFields/EditCustomFields.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/customFields/EditCustomFieldsWithData.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/directory/CallsContextualBarDirectory.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatInfo.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatsContextualBar.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/directory/chats/ChatsFiltersContextualBar.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/priorities/PriorityList.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/slaPolicies/SlaEdit.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/slaPolicies/SlaPage.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/tags/TagEdit.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/tags/TagEditWithData.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/tags/TagEditWithDepartmentData.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/tags/TagsPage.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/triggers/EditTrigger.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/triggers/EditTriggerWithData.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/triggers/TriggersPage.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/units/UnitEdit.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/units/UnitEditWithData.tsx (1 hunks)
  • apps/meteor/client/views/omnichannel/units/UnitsPage.tsx (1 hunks)
  • apps/meteor/client/views/outlookCalendar/OutlookEventsList/OutlookEventsList.tsx (1 hunks)
  • apps/meteor/client/views/outlookCalendar/OutlookSettingsList/OutlookSettingsList.tsx (1 hunks)
  • apps/meteor/client/views/room/Room.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/Discussions/DiscussionsList.tsx (2 hunks)
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/Info/EditRoomInfo/EditRoomInfo.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/MessageListTab.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/MessageSearchTab/MessageSearchTab.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/MessageSearchTab/components/MessageSearch.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/OTR/OTR.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/OTR/OTR.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomFiles/components/FileItem.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.stories.tsx (1 hunks)
  • apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx (2 hunks)
⛔ Files not processed due to max files limit (27)
  • apps/meteor/client/views/room/contextualBar/Threads/Thread.tsx
  • apps/meteor/client/views/room/contextualBar/Threads/ThreadList.tsx
  • apps/meteor/client/views/room/contextualBar/Threads/components/ThreadChat.tsx
  • apps/meteor/client/views/room/contextualBar/Threads/components/ThreadTitle.tsx
  • apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx
  • apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsx
  • apps/meteor/client/views/room/contextualBar/uikit/UiKitContextualBar.tsx
  • apps/meteor/client/views/teams/contextualBar/channels/TeamsChannels.tsx
  • apps/meteor/client/views/teams/contextualBar/info/TeamsInfo.stories.tsx
  • apps/meteor/client/views/teams/contextualBar/info/TeamsInfo.tsx
  • apps/meteor/jest.config.ts
  • packages/ui-client/package.json
  • packages/ui-client/src/components/Contextualbar/Contextualbar.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarAction.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarActions.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarButton.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarContent.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarDialog.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarEmptyContent.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarFooter.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarHeader.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarIcon.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarResizable.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarScrollableContent.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarSection.tsx
  • packages/ui-client/src/components/Contextualbar/ContextualbarTitle.tsx
  • packages/ui-client/src/components/index.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{ts,tsx,js}

📄 CodeRabbit inference engine (.cursor/rules/playwright.mdc)

**/*.{ts,tsx,js}: Write concise, technical TypeScript/JavaScript with accurate typing in Playwright tests
Avoid code comments in the implementation

Files:

  • apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.stories.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.stories.tsx
  • apps/meteor/client/views/admin/customSounds/CustomSoundsPage.tsx
  • apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsx
  • apps/meteor/client/views/admin/permissions/EditRolePage.tsx
  • apps/meteor/client/views/omnichannel/customFields/CustomFieldsPage.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatInfo.tsx
  • apps/meteor/client/views/omnichannel/priorities/PriorityList.tsx
  • apps/meteor/client/views/admin/users/AdminUsersPage.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoDetails/ContactInfoDetails.tsx
  • apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.stories.tsx
  • apps/meteor/client/views/admin/rooms/EditRoom.tsx
  • apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.stories.tsx
  • apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx
  • apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx
  • apps/meteor/client/views/omnichannel/tags/TagEditWithDepartmentData.tsx
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.stories.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.stories.tsx
  • apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponse.tsx
  • apps/meteor/client/views/admin/moderation/UserReports/UserReportInfo.tsx
  • apps/meteor/client/views/omnichannel/agents/AgentEditWithData.tsx
  • apps/meteor/client/views/omnichannel/triggers/EditTriggerWithData.tsx
  • apps/meteor/client/components/UserInfo/UserInfo.stories.tsx
  • apps/meteor/client/views/outlookCalendar/OutlookSettingsList/OutlookSettingsList.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoChannels/ContactInfoChannels.tsx
  • apps/meteor/client/views/omnichannel/units/UnitEditWithData.tsx
  • apps/meteor/client/views/room/contextualBar/OTR/OTR.tsx
  • apps/meteor/client/views/room/contextualBar/OTR/OTR.stories.tsx
  • apps/meteor/client/views/room/contextualBar/MessageSearchTab/components/MessageSearch.tsx
  • apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistory.tsx
  • apps/meteor/client/views/omnichannel/units/UnitEdit.tsx
  • apps/meteor/client/views/room/Room.tsx
  • apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfoWithData.tsx
  • apps/meteor/client/views/admin/oauthApps/EditOauthApp.tsx
  • apps/meteor/client/views/omnichannel/tags/TagEditWithData.tsx
  • apps/meteor/client/views/admin/users/AdminUserUpgrade.tsx
  • apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.stories.tsx
  • apps/meteor/client/views/admin/users/AdminUserForm.tsx
  • apps/meteor/client/views/admin/rooms/EditRoomWithData.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfoWithData.tsx
  • apps/meteor/client/views/omnichannel/units/UnitsPage.tsx
  • apps/meteor/client/views/admin/permissions/PermissionsContextBar.tsx
  • apps/meteor/client/views/omnichannel/directory/CallsContextualBarDirectory.tsx
  • apps/meteor/client/views/omnichannel/tags/TagsPage.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfo.tsx
  • apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminPage.tsx
  • apps/meteor/client/views/omnichannel/customFields/EditCustomFieldsWithData.tsx
  • apps/meteor/client/views/omnichannel/agents/AgentsPage.tsx
  • apps/meteor/client/views/omnichannel/agents/AgentEdit.tsx
  • apps/meteor/client/views/omnichannel/triggers/TriggersPage.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatsContextualBar.tsx
  • apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsx
  • apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsx
  • apps/meteor/client/views/admin/users/AdminInviteUsers.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/EditContactInfo.tsx
  • apps/meteor/client/views/room/contextualBar/RoomFiles/components/FileItem.stories.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx
  • apps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.stories.tsx
  • apps/meteor/client/views/admin/rooms/RoomsPage.tsx
  • apps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsx
  • apps/meteor/client/views/admin/moderation/ModConsoleReportDetails.tsx
  • apps/meteor/client/views/admin/customEmoji/EditCustomEmoji.tsx
  • apps/meteor/client/components/UserInfo/UserInfo.tsx
  • apps/meteor/client/views/omnichannel/agents/AgentInfo.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx
  • apps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.tsx
  • apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx
  • apps/meteor/client/views/admin/customSounds/EditSound.tsx
  • apps/meteor/client/views/omnichannel/slaPolicies/SlaEdit.tsx
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx
  • apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.stories.tsx
  • apps/meteor/client/views/room/contextualBar/Discussions/DiscussionsList.tsx
  • apps/meteor/client/views/admin/customUserStatus/CustomUserStatusForm.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.stories.tsx
  • apps/meteor/client/views/omnichannel/tags/TagEdit.tsx
  • apps/meteor/client/views/admin/customSounds/AddCustomSound.tsx
  • apps/meteor/client/views/omnichannel/currentChats/CustomFieldsList.tsx
  • apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.stories.tsx
  • apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsx
  • apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx
  • apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.stories.tsx
  • apps/meteor/client/views/admin/customUserStatus/CustomUserStatusRoute.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsx
  • apps/meteor/client/views/omnichannel/slaPolicies/SlaPage.tsx
  • apps/meteor/client/views/omnichannel/triggers/EditTrigger.tsx
  • apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsx
  • apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.tsx
  • apps/meteor/client/views/omnichannel/customFields/EditCustomFields.tsx
  • apps/meteor/client/views/room/contextualBar/MessageSearchTab/MessageSearchTab.tsx
  • apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx
  • apps/meteor/client/views/admin/moderation/UserMessages.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/ContactInfoError.tsx
  • apps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsx
  • apps/meteor/client/views/admin/users/AdminUserCreated.tsx
  • apps/meteor/client/views/outlookCalendar/OutlookEventsList/OutlookEventsList.tsx
  • apps/meteor/client/apps/gameCenter/GameCenterContainer.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/EditContactInfoWithData.tsx
  • apps/meteor/client/views/room/contextualBar/Info/EditRoomInfo/EditRoomInfo.tsx
  • apps/meteor/client/views/admin/customUserStatus/CustomUserStatusService.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistoryMessages.tsx
  • apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatsFiltersContextualBar.tsx
  • apps/meteor/client/views/room/contextualBar/MessageListTab.tsx
  • apps/meteor/client/apps/gameCenter/GameCenterList.tsx
🧠 Learnings (12)
📓 Common learnings
Learnt from: d-gubert
Repo: RocketChat/Rocket.Chat PR: 37547
File: packages/i18n/src/locales/en.i18n.json:634-634
Timestamp: 2025-11-19T12:32:29.696Z
Learning: Repo: RocketChat/Rocket.Chat
Context: i18n workflow
Learning: In this repository, new translation keys should be added to packages/i18n/src/locales/en.i18n.json only; other locale files are populated via the external translation pipeline and/or fall back to English. Do not request adding the same key to all locale files in future reviews.
📚 Learning: 2025-10-28T16:53:42.761Z
Learnt from: ricardogarim
Repo: RocketChat/Rocket.Chat PR: 37205
File: ee/packages/federation-matrix/src/FederationMatrix.ts:296-301
Timestamp: 2025-10-28T16:53:42.761Z
Learning: In the Rocket.Chat federation-matrix integration (ee/packages/federation-matrix/), the createRoom method from rocket.chat/federation-sdk will support a 4-argument signature (userId, roomName, visibility, displayName) in newer versions. Code using this 4-argument call is forward-compatible with planned library updates and should not be flagged as an error.

Applied to files:

  • apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.stories.tsx
  • apps/meteor/client/views/admin/rooms/EditRoom.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.stories.tsx
  • apps/meteor/client/views/room/contextualBar/OTR/OTR.tsx
  • apps/meteor/client/views/room/Room.tsx
  • apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.stories.tsx
  • apps/meteor/client/views/admin/rooms/EditRoomWithData.tsx
  • apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsx
  • apps/meteor/client/views/admin/rooms/RoomsPage.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx
  • apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.stories.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.stories.tsx
  • apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsx
  • apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsx
  • apps/meteor/client/views/room/contextualBar/Info/EditRoomInfo/EditRoomInfo.tsx
  • apps/meteor/client/views/room/contextualBar/MessageListTab.tsx
📚 Learning: 2025-11-27T17:56:26.050Z
Learnt from: MartinSchoeler
Repo: RocketChat/Rocket.Chat PR: 37557
File: apps/meteor/client/views/admin/ABAC/AdminABACRooms.tsx:115-116
Timestamp: 2025-11-27T17:56:26.050Z
Learning: In Rocket.Chat, the GET /v1/abac/rooms endpoint (implemented in ee/packages/abac/src/index.ts) only returns rooms where abacAttributes exists and is not an empty array (query: { abacAttributes: { $exists: true, $ne: [] } }). Therefore, in components consuming this endpoint (like AdminABACRooms.tsx), room.abacAttributes is guaranteed to be defined for all returned rooms, and optional chaining before calling array methods like .join() is sufficient without additional null coalescing.

Applied to files:

  • apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.stories.tsx
  • apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsx
  • apps/meteor/client/views/admin/rooms/EditRoom.tsx
  • apps/meteor/client/views/admin/rooms/EditRoomWithData.tsx
  • apps/meteor/client/views/admin/rooms/RoomsPage.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx
📚 Learning: 2025-11-19T12:32:29.696Z
Learnt from: d-gubert
Repo: RocketChat/Rocket.Chat PR: 37547
File: packages/i18n/src/locales/en.i18n.json:634-634
Timestamp: 2025-11-19T12:32:29.696Z
Learning: Repo: RocketChat/Rocket.Chat
Context: i18n workflow
Learning: In this repository, new translation keys should be added to packages/i18n/src/locales/en.i18n.json only; other locale files are populated via the external translation pipeline and/or fall back to English. Do not request adding the same key to all locale files in future reviews.

Applied to files:

  • apps/meteor/.storybook/main.ts
  • apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.stories.tsx
  • apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponse.tsx
  • apps/meteor/client/views/room/contextualBar/OTR/OTR.stories.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfo.tsx
  • apps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.stories.tsx
  • apps/meteor/client/views/admin/moderation/ModConsoleReportDetails.tsx
  • apps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.tsx
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsx
  • apps/meteor/client/views/admin/customSounds/AddCustomSound.tsx
  • apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.stories.tsx
  • apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.stories.tsx
  • apps/meteor/client/views/omnichannel/slaPolicies/SlaPage.tsx
  • apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatsFiltersContextualBar.tsx
📚 Learning: 2025-09-19T15:15:04.642Z
Learnt from: rodrigok
Repo: RocketChat/Rocket.Chat PR: 36991
File: apps/meteor/server/services/federation/infrastructure/rocket-chat/adapters/Settings.ts:219-221
Timestamp: 2025-09-19T15:15:04.642Z
Learning: The Federation_Matrix_homeserver_domain setting in apps/meteor/server/services/federation/infrastructure/rocket-chat/adapters/Settings.ts is part of the old federation system and is being deprecated/removed, so configuration issues with this setting should not be flagged for improvement.

Applied to files:

  • apps/meteor/.storybook/main.ts
  • apps/meteor/client/views/admin/users/AdminUserUpgrade.tsx
📚 Learning: 2025-10-30T19:30:46.541Z
Learnt from: MartinSchoeler
Repo: RocketChat/Rocket.Chat PR: 37244
File: apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.spec.tsx:125-146
Timestamp: 2025-10-30T19:30:46.541Z
Learning: In the AdminABACRoomAttributesForm component (apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsx), the first attribute value field is mandatory and does not have a Remove button. Only additional values beyond the first have Remove buttons. This means trashButtons[0] corresponds to the second value's Remove button, not the first value's.

Applied to files:

  • apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsx
📚 Learning: 2025-11-17T15:07:13.273Z
Learnt from: gabriellsh
Repo: RocketChat/Rocket.Chat PR: 37398
File: packages/fuselage-ui-kit/src/surfaces/FuselageSurfaceRenderer.tsx:357-363
Timestamp: 2025-11-17T15:07:13.273Z
Learning: In packages/fuselage-ui-kit/src/surfaces/FuselageSurfaceRenderer.tsx, IconElement is a presentational, non-actionable element that does not require wrapping in AppIdProvider, similar to plain_text and mrkdwn renderers. Only actionable elements (those with actions, actionId, or interactive behavior) should be wrapped in AppIdProvider.

Applied to files:

  • apps/meteor/client/views/admin/users/AdminUsersPage.tsx
  • apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx
  • apps/meteor/client/views/admin/oauthApps/EditOauthApp.tsx
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsx
  • apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx
  • apps/meteor/client/apps/gameCenter/GameCenterContainer.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatsFiltersContextualBar.tsx
  • apps/meteor/client/apps/gameCenter/GameCenterList.tsx
📚 Learning: 2025-11-19T18:20:07.720Z
Learnt from: gabriellsh
Repo: RocketChat/Rocket.Chat PR: 37419
File: packages/i18n/src/locales/en.i18n.json:918-921
Timestamp: 2025-11-19T18:20:07.720Z
Learning: Repo: RocketChat/Rocket.Chat — i18n/formatting
Learning: This repository uses a custom message formatting parser in UI blocks/messages; do not assume standard Markdown rules. For keys like Call_ended_bold, Call_not_answered_bold, Call_failed_bold, and Call_transferred_bold in packages/i18n/src/locales/en.i18n.json, retain the existing single-asterisk emphasis unless maintainers request otherwise.

Applied to files:

  • apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.stories.tsx
  • apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatsContextualBar.tsx
  • apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsx
  • apps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsx
  • apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsx
  • apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.stories.tsx
  • apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.stories.tsx
  • apps/meteor/client/views/admin/moderation/UserMessages.tsx
  • apps/meteor/client/views/omnichannel/contactInfo/ContactInfoError.tsx
  • apps/meteor/client/views/room/contextualBar/MessageListTab.tsx
📚 Learning: 2025-11-24T17:08:17.065Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat PR: 0
File: .cursor/rules/playwright.mdc:0-0
Timestamp: 2025-11-24T17:08:17.065Z
Learning: Applies to apps/meteor/tests/e2e/page-objects/**/*.ts : Utilize existing page objects pattern from `apps/meteor/tests/e2e/page-objects/`

Applied to files:

  • apps/meteor/client/views/omnichannel/units/UnitsPage.tsx
  • apps/meteor/client/views/omnichannel/slaPolicies/SlaPage.tsx
📚 Learning: 2025-11-04T16:49:19.107Z
Learnt from: ricardogarim
Repo: RocketChat/Rocket.Chat PR: 37377
File: apps/meteor/ee/server/hooks/federation/index.ts:86-88
Timestamp: 2025-11-04T16:49:19.107Z
Learning: In Rocket.Chat's federation system (apps/meteor/ee/server/hooks/federation/), permission checks follow two distinct patterns: (1) User-initiated federation actions (creating rooms, adding users to federated rooms, joining from invites) should throw MeteorError to inform users they lack 'access-federation' permission. (2) Remote server-initiated federation events should silently skip/ignore when users lack permission. The beforeAddUserToRoom hook only executes for local user-initiated actions, so throwing an error there is correct. Remote federation events are handled separately by the federation Matrix package with silent skipping logic.

Applied to files:

  • apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx
📚 Learning: 2025-11-17T22:38:48.631Z
Learnt from: gabriellsh
Repo: RocketChat/Rocket.Chat PR: 37505
File: packages/i18n/src/locales/en.i18n.json:3765-3765
Timestamp: 2025-11-17T22:38:48.631Z
Learning: Rocket.Chat i18n copy: Keep sentence case for the value of "Notification_Desktop_show_voice_calls" in packages/i18n/src/locales/en.i18n.json (“Show desktop notifications for voice calls”) per design directive; do not change to Title Case even if nearby labels differ.

Applied to files:

  • apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx
📚 Learning: 2025-11-17T14:30:36.271Z
Learnt from: tassoevan
Repo: RocketChat/Rocket.Chat PR: 37491
File: packages/desktop-api/src/index.ts:17-27
Timestamp: 2025-11-17T14:30:36.271Z
Learning: In the Rocket.Chat desktop API (`packages/desktop-api/src/index.ts`), the `CustomNotificationOptions` type has an optional `id` field by design. Custom notifications dispatched without an ID cannot be closed programmatically using `closeCustomNotification`, and this is intentional.

Applied to files:

  • apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (18)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (3/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (5/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (3/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (4/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (2/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (5/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (1/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (1/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (4/5)
  • GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (2/5)
  • GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (2/4)
  • GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (4/4)
  • GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (3/4)
  • GitHub Check: 🔨 Test API (EE) / MongoDB 8.2 coverage (1/1)
  • GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (1/4)
  • GitHub Check: 🔨 Test API (EE) / MongoDB 5.0 (1/1)
  • GitHub Check: 🔨 Test API (CE) / MongoDB 8.2 (1/1)
  • GitHub Check: 🔨 Test Federation Matrix

Copy link
Member

@dougfabris dougfabris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gabriellsh gabriellsh added the stat: QA assured Means it has been tested and approved by a company insider label Dec 2, 2025
@gabriellsh gabriellsh added this to the 7.14.0 milestone Dec 2, 2025
@dionisio-bot dionisio-bot bot added the stat: ready to merge PR tested and approved waiting for merge label Dec 2, 2025
@kodiakhq kodiakhq bot merged commit 74d21c2 into develop Dec 2, 2025
86 of 88 checks passed
@kodiakhq kodiakhq bot deleted the chore/moveContextual branch December 2, 2025 16:40
@coderabbitai coderabbitai bot mentioned this pull request Dec 2, 2025
@dougfabris dougfabris modified the milestones: 7.14.0, 8.0.0 Jan 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stat: QA assured Means it has been tested and approved by a company insider stat: ready to merge PR tested and approved waiting for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants